{
 "metadata": {
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.2"
  },
  "orig_nbformat": 2,
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3",
   "language": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2,
 "cells": [
  {
   "source": [
    "# 对象介绍"
   ],
   "cell_type": "markdown",
   "metadata": {}
  },
  {
   "source": [
    "- Python 是一门面向对象的语言\n",
    "- 一切皆对象！\n",
    "- 程序运行过程中，所有的数据都是储存到内存中然后再运行的\n",
    "- 对象就是内存中专门来储存指定数据的一块区域\n",
    "- 对象实际上就是一个容器，专门用来存储数据\n",
    "- 数值、字符串、布尔值、空值都是对象"
   ],
   "cell_type": "markdown",
   "metadata": {}
  },
  {
   "source": [
    "## 对象的结构\n",
    "\n",
    "每个对象都要保存三种数据\n",
    "\n",
    "- id\n",
    "    - 标示对象的唯一性，每一个对象都有唯一的 id\n",
    "    - 可以通过 `id()` 函数查看对象的 id\n",
    "    - id 是由解析器生成的，在 Cpython 中，id 就是对象的内存地址\n",
    "    - 对象一旦创建，id 永远不能改变\n",
    "- type\n",
    "    - 标示当前对象所属的类型\n",
    "    - 比如 int、str、float、bool...\n",
    "    - 类型决定了对象有哪些功能\n",
    "    - Python 是一门强类型的语言，对象一旦创建类型便不能修改\n",
    "- value\n",
    "    - 值就是对象中储存的具体的数据\n",
    "    - 对于有些对象值是可以改变的\n",
    "        - 可变对象 - 值可以改变\n",
    "        - 不可变对象 - 值不可以改变"
   ],
   "cell_type": "markdown",
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = 1\n",
    "b = 'Hello'\n",
    "print(id(a))\n",
    "print(id(b))\n",
    "print(id(1))\n",
    "print(id('Hello'))"
   ]
  }
 ]
}